// Andrew Davies

#if !defined( DEV_GRAPHICS_H )
#define DEV_GRAPHICS_H

#include "DEvGraphics/devGraphicsFwd.h"
#include "d3d9.h"

namespace DevGraphics
{

void line(
	int UID,
	D3DXVECTOR4 const & fromPosition,
	D3DXVECTOR4 const & toPosition,
	D3DXVECTOR4 const & fromColour = D3DXVECTOR4( 1.0f, 1.0f, 1.0f, 1.0f ),
	D3DXVECTOR4 const & toColour = D3DXVECTOR4( 1.0f, 1.0f, 1.0f, 1.0f ),
	bool infiniteLife = false,
	float lifeTime = 0.1f );

void removeLine( int UID );

#define DEV_GRAPHICS_DEFAULT_POINT_SIZE ( 8.0f )

void point(
	int UID,
	D3DXVECTOR4 const & position,
	float size = DEV_GRAPHICS_DEFAULT_POINT_SIZE,
	D3DXVECTOR4 const & colour = D3DXVECTOR4( 1.0f, 1.0f, 1.0f, 1.0f ),
	bool infiniteLife = false,
	float lifeTime = 0.1f );

void removePoint( int UID );

void step( float deltaTime );
void draw( IDirect3DDevice9 & d3dDevice );

}

#endif